1. Field of the Invention
The present invention pertains generally to electrical computers and more particularly to program products and methods for providing date and time software services to calling programs.
2. Background of the Invention
Information technology organizations throughout all industries are working to solve what is known as the "Year 2000" problem. For the past several decades, systems have typically used two digits to represent the year, such as "98" to represent "1998", in order to conserve electronic data storage and reduce operating costs. With this 2-digit format, however, the year "2000" is indistinguishable from the year "1900", the year "2001" from the year "1901", and so on. As a result of this ambiguity, application programs that perform calculations, comparisons, or sorting operations on time and date data elements may generate incorrect results when working with years after 1999.
Therefore, to avoid incorrect results, software applications must be made Year 2000 compliant by Jan. 1, 2000. To meet Year 2000 compliancy, many different approaches may be implemented. One common approach is to rewrite the source code for an application to ensure date routines can account for a 2-digit century value. However, many databases and applications are very extensive and have 2-digit year values embedded within them. Expanding such databases and modifying such applications to accommodate a 3- or 4-digit year field is impractical. A second common approach is to utilize a date/time services program that can be called by a software application during execution. Such a services program is passed a date value that comprises a 2-digit year, and returns either a value indicating a century or a date value that comprises a 3- or 4-digit year. This technique is commonly known as "windowing," and it enables a legacy software application to accommodate different century values to meet Year 2000 compliancy requirements without having to expand the underlying databases.
Beyond the single issue of Year 2000 compliancy, software applications may benefit from various date/time services. For example, during execution, an application may require a date-time translation or a date-time field format conversion. Such needs will exist well beyond the year 2000.
Currently, products on the market that offer similar services have several notable limitations. Such products only provide date services using specific and limited formats. For example, they may provide a Julian or Gregorian date to an application requiring ADABAS `D` or `T` format fields, which must then convert the date to a proper internal format. "ADABAS" is a database marketed by Software A.G. of Germany, and other vendors also use ADABAS formats as input and output field formats in their own database applications. In addition, such products provide services for only one date value in a single call, requiring multiple calls to the services program to obtain multiple date-time operation results. Moreover, these products do not provide combination date and time services or provide for multiple function operations. Therefore, need exists for a date and time services program that provides date and time format conversion, Year 2000 compliancy, and capabilities for handling multiple date/time inputs/outputs and multiple functions in a single call.